This is XP-Cagey's thirteenth modified release of Merl's 1.7 build of the half life compile tools. Email webmaster@xp-cagey.com with comments or questions. 1.7p13 - Enhancement (RAD) : Thanks to hullu for an improved HLRAD custom shadows! Bugfix (CSG): fixed problem with info_compile_parameter code that turned off clip hulls by default Bugfix (BSP): fixed incorrect storage of empty clip hulls -- the head node pointer now correctly stores the content type instead of a pointer to another model's clip information; this allows zhlt_noclip to work correctly in all cases, and also allows maps created with clip hulls turned off to run in the game without crashing. Bugfix (BSP): fixed crash error resulting from running HLCSG with nocliphull followed by running HLBSP normally Enhancement (CSG): changed the zhlt_noclip and zhlt_invisible attributes' behavior: if either attributes' value is set to '0', the attribute is ignored. This should allow people to add these attributes to FGD files as Choices. Enhancement (CSG): simplified bevel clip algorithm used by precise, normalized, and simple clip types (thanks to Carsten Fuchs for pointing out the change) 1.7p12 - Bugfix (RAD): fixed issue introduced with p11 that caused some lights to fade incorrectly over distance. Bugfix (RAD): Removed "SDF::4" log message that would spam in production builds of the tools if concave opaque entities were in use. Bugfix (RAD): Default maximum light data bumped down to 6MB again after reports that higher values caused performance issues. Authors still have the option of specifying extra lightdata at the command line, but should perform compatability testing before releasing their maps if they're over the preset limit. 1.7p11 - Feature Addition (RAD): added -lightdata <#> switch to allow user to set custom lightdata maximum value. Works like the -texdata switch. Default maximum light data amount bumped to 8MB. Enhancement (RAD): enhanced "too many lightstyles" error messages that previously showed (?,?,?) to show actual location of error. Only first error of this type is shown by default. Use -verbose to see all occurrences. Bugfix (RAD): plugged buffer overflow when too many light samples are used (new Exceeded MAX_MAP_LIGHTING error) Bugfix (BSP/VIS/RAD): plugged buffer overflow on BSP read when texdata or lightdata wasn't adequate to hold texture data stored in BSP (MAX_MAP_MIPTEX or MAX_MAP_LIGHTING thrown now instead). 1.7p10 - Bugfix (RAD): fixed problem with opaque entity shadows; p10 lighting is now identical to the lighting in regular 1.7 1.7p9 - Bugfix (RAD): fixed math code introduced in p5 - removed "-oldmath" and replaced added a message saying the option is no longer supported if someone attempts to use it. Feature addition (patch by Nemo1024): added support for older hullfile format used in HL SDK 2.2 (doesn't affect anyone using the newer hullfile format). 1.7p8 - Bugfix (RAD): added command line switch "-oldmath" for people who are having problems with the optimized math routines introduced in p5... I'm currently looking for sample cases where the new math routines break the lighting stage of the compile. 1.7p7 - Bugfix (RAD): re-added support for texlights (had been disabled while debugging due to spam of "direct lights exceeded" message), changed behavior of that message from print on every occurance to print on first occurance -- if you had problems with this message spamming before, you should now be able to at least compile your map. The problem causing the message has not been fixed, but getting it many times isn't more useful than getting it once because it doesn't define the location of the problem. 1.7p6 - Bugfix (CSG): BEVEL texture code was causing improper clip offsets for normally textured axial faces. 1.7p5 - Feature addition: "zhlt_noclip" - adding this key with a non-empty value to any brush entity will cause ALL clipping information for the brush entity to be stripped, making the entity non-solid in the game. Suggested by Yamazaki. Feature addition: "zhlt_invisible" - adding this key with a non-empty value to any brush entity will cause the entity to be invisible in the game and not contribute to r_speeds (this is the same as using the null texture for the entire entity). Feature addition: BEVEL texture - this texture acts like a NULL texture but also doesn't expand when generating clip hulls. Can be used to eliminate exterior corner clipping bugs without using -cliptype precise... -cliptype precise is still the recommended method for removing clipping errors, as this feature is experimental. Suggested by WolfWings. Compiler limit change: The maximum number of brushes has been boosted from 8K to 32K. Suggested by A W!seM4n Onc3 Sa!d. Compiler limit change: ripents.exe has been updated to support the higher map limits of 1.7p5. Optimization: several math functions have been simplified in the code, providing a small boost to HLRAD speeds. Testing showed a ~5% improvement on compiles that weren't using virtual memory. Larger gains are probably possible in the future. Optimization: enabled MSVC++ compiler optimizations for speed. Your milage may vary. Additional files in distribution: ripents.exe has been updated to support the 1.7p5 limits. zhlt.wad has been updated to include the BEVEL texture. 1.7p4 - Bugfix: recursive threadlock on multiprocessor machines eliminated. Bugfix: using full dot product to check for angle instead of sum of axial values Feature addition: -cliptype normalized uses bugfix 1 and skips bugfix 2 for people who don't want denormalized brushes (see article link below for details) 1.7p3 - I've reworked the ExpandBrush function of HLCSG to fix 2 bad assumptions that led to "sticky" exterior corners in Half-Life maps. I've sent the source in to Merl for inclusion in future builds, and am making the updated code available here for people interested in getting an immediate fix. The new exe is backward compatible with all previous versions of the tools and includes the raised plane limit from 1.7p. This exe requires the same DLL that the 1.7p build requires, which you can find in the webbed tool thread. In addition to the bugfixes, I've also sped up the CreateBrush part of HLCSG by around 75%. A summary of how this works can be found at http://xp-cagey.com/articles/clip_hull for those who are interested in knowing what's changed. To use the new clip hull feature, download the attached HLCSG and add the following switch: "-cliptype precise". If you want to same some clipnodes, you can use "-cliptype simple" which will shift player models a few units upward on sloped floors [NOTE: The marine model is currently drawn a few units off the floor when standing, even using the old HLCSG. This can be verified by looking at the marine model on any standard NS map from the 1.0 distribution.] If you want to use the new HLCSG for the speed improvement but want the old style clipping, use "-cliptype legacy". If you want to have the smallest possible number of clipnodes and don't mind some stickyness (not recommended), use "-cliptype smallest". I've included a small test map that exhibits both of the bad assumptions from the old code in the zip file.